#pragma once
/**
 * noncopy 的 拷贝构造函数， 拷贝复制函数 被delete， 子类也不可以复制
 * noncopy 的 默认构造函数被设置为 protected, 即不可以在类外创建noncopyable, 但是可以派生子类
 * 
 */
class noncopyable{
public:
    noncopyable(const noncopyable& ) = delete;
    void operator=(const noncopyable&) = delete;

protected:
    noncopyable() = default;
    ~noncopyable() = default;

};

